package dto

import (
	"vrcm/src/vrcm/app/admin/models/monitor"
	"vrcm/src/vrcm/common/dto"
	common "vrcm/src/vrcm/common/models"
)

type MonitorEventGetPageReq struct {
	dto.Pagination `search:"-"`
	TenantId       string `json:"tenant_id"  search:"type:exact;column:tenant_id;table:monitor_event"`
}

func (m *MonitorEventGetPageReq) GetNeedSearch() interface{} {
	return *m
}

type MonitorEventGetReq struct {
	Id int `uri:"id"`
}

type MonitorEventInsertReq struct {
	Id            int    `json:"-" comment:""` //
	TenantId      string `json:"tenant_id" comment:"租户"`
	EventName     string `json:"event_name" comment:"时间名称"`
	SetId         int    `json:"set_id" comment:"片场id"` //
	Password      string `json:"password" comment:"密码"`
	AuditPassword string `json:"audit_password" comment:"审片密码"`
	StartTime     int64  `json:"start_time" comment:"开始时间"`
	EndTime       int64  `json:"end_time" comment:"结束时间"`
	common.ControlBy
}

type MonitorEventUpdateReq struct {
	Id            int    `json:"id" comment:""` //
	TenantId      string `json:"tenant_id" comment:"租户"`
	EventName     string `json:"event_name" comment:"片场名"`
	SetId         int    `json:"set_id" comment:"片场id"` //
	Password      string `json:"password" comment:"密码"`
	AuditPassword string `json:"audit_password" comment:"审片密码"`
	StartTime     int64  `json:"start_time" comment:"开始时间"`
	EndTime       int64  `json:"end_time" comment:"结束时间"`
	common.ControlBy
}

type MonitorEventDeleteReq struct {
	Id int `json:"id"`
}

//type ProgrammeInsertReq struct {
//	Id          int    `json:"id" comment:""` //
//	TenantId    string `json:"tenant_id" comment:"租户"`
//	ProgramDesc string `json:"program_desc" comment:"活动详情"`
//	EventId     string `json:"event_id" comment:"活动id"`
//	StartTime   int64  `json:"start_time" comment:"开始时间"`
//	EndTime     int64  `json:"end_time" comment:"结束时间"`
//	common.ControlBy
//}

type SkipProgramReq struct {
	Id     int `json:"id" comment:"节目单id"`
	IsSkip int `json:"is_skip"`
}

type PlayingProgramReq struct {
	Id        int `json:"id" comment:"节目单id"`
	IsPlaying int `json:"is_playing"`
}

type ProgramGetPageReq struct {
	dto.Pagination `search:"-"`
	EventId        int `json:"event_id"  search:"type:exact;column:event_id;table:program_round"`
}

func (m *ProgramGetPageReq) GetNeedSearch() interface{} {
	return *m
}

type GetProgramByRoundReq struct {
	Rounds  []int `json:"rounds" comment:"场记"`
	EventId int   `json:"event_id" comment:"活动id"`
}

type SaveEventMemberReq struct {
	EventMembers []monitor.EventMember `json:"event_members" comment:"租户"`
}

type GetEventMemberReq struct {
	dto.Pagination `search:"-"`
	EventId        int `json:"event_id" comment:"活动id"`
}
type DeleteEventMemberReq struct {
	Id int `json:"id" comment:"id"`
}
